package com.demo.scenic.service;


import com.demo.scenic.common.BaseResponse;
import com.demo.scenic.domain.Role;
import com.demo.scenic.domain.User;
import com.demo.scenic.domain.dto.UserDTO;
import com.demo.scenic.shiro.AccountProfile;


import java.util.List;

public interface UserService {
    /**
     * 根据手机号查询用户信息
     * @param mobile
     * @return
     */
    User findByMobile(String mobile);


    /**
     * 根据手机号查询角色信息
     * @param mobile
     * @return
     */
    List<Role> findRolesByMobile(String mobile);


    /**
     * 注册
     * @param user
     * @return
     */
    BaseResponse register(UserDTO user);


    /**
     * 登录
     * @param user
     * @return
     */
    BaseResponse login(UserDTO user);

    /**
     * 获取用户信息
     * @param accountProfile
     * @return
     */
    BaseResponse getUserInfo(AccountProfile accountProfile);

    // 成为商家
    BaseResponse becomeBusiness(AccountProfile accountProfile);


    // 根据用户名查询用户角色
    List<Role> findRolesByUserId(Integer userId);

    // 修改用户名
    BaseResponse updateUserName(AccountProfile accountProfile, String username);

    // 修改头像
    BaseResponse updateUserAvatar(AccountProfile accountProfile, String avatar);

}
